import java.util.HashMap;
import java.util.Scanner;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author LHN
 * @name MasterSword(驱魔之剑)
 */
public class Application_start {


    public static void main(String[] args) {
        System.out.println("             ___\n" +
                "            |   |\n" +
                "             \\ /   o\n" +
                "             | |\n" +
                "        .    | |\n" +
                "      _______/_\\_______\n" +
                "     /  _    / \\    _  \\\n" +
                "     \\_/ \\___\\_/___/ \\_/\n" +
                "           |  |  |\n" +
                "   .       |     |\n" +
                "           |  |  |\n" +
                "           |     |     .\n" +
                "           |  |  |\n" +
                "           |     |\n" +
                "        .  |  |  |      .\n" +
                "           |     |      |\n" +
                "           |  |  |    --o--\n" +
                "           |     |      |\n" +
                "     ___________________\n" +
                "    /                   \\\n" +
                "   /_____________________\\  ");
        System.out.println("MasterSword(驱魔之剑) is start");

        /*-p	指定需要使用的payload，即攻击荷载。
-l	列出指定模块的所有可用资源。
-n	为payload预先指定一个NOP滑动长度，用于防止程序崩溃。
-f	指定输出格式，例如exe、elf、php、js等。
-e	指定需要使用的encoder编码器，以隐藏恶意代码。
-a	指定payload的目标架构，例如x86、x64等。
–platform	指定payload的目标平台，例如Windows、Linux等。
-s	设定有效攻击荷载的最大长度。
-b	设定规避字符集，以防止生成的payload中包含不可用字符。
-i	指定payload的编码次数。
–shellest	最小化生成payload。
*/

        while (true) {

            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入目标网站的url");
            String url = scanner.nextLine();
            System.out.println("请输入使用payload");
            String payLoad = scanner.nextLine();

            System.out.println("确定访问目标吗[y/n]");
            char flag = scanner.next().charAt(0);
            if (flag == 'y' || flag == 'Y') {
                Command_param commandParam = new Command_param();
                commandParam.setUrl(url);
                commandParam.setPayload(payLoad);
                Web_communication webCommunication = new Web_communication();
                webCommunication.sendHttpRequestByGET(commandParam.getUrl() + commandParam.getPayload());
            }


        }


    }
}
